{
unsigned long efer;
- /* rdmsrl(MSR_EFER, efer); */
-
- /*
- * At this point, Xen does not like the bit 63.
- * So NX is not supported. Come back later.
- */
- efer = 0;
-
+ rdmsrl(MSR_EFER, efer);
if (!(efer & EFER_NX) || do_not_nx) {
__supported_pte_mask &= ~_PAGE_NX;
+
}
}
#ifndef CONFIG_DISCONTIGMEM
void __init paging_init(void)
{
- int i;
-
{
unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};
/* unsigned int max_dma; */
memset(empty_zero_page, 0, sizeof(empty_zero_page));
#ifdef CONFIG_XEN_PHYSDEV_ACCESS
+ {
+ int i;
/* Setup mapping of lower 1st MB */
- for (i = 0; i < NR_FIX_ISAMAPS; i++)
- if (xen_start_info.flags & SIF_PRIVILEGED)
- set_fixmap(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE);
- else
- __set_fixmap(FIX_ISAMAP_BEGIN - i,
- virt_to_machine(empty_zero_page),
- PAGE_KERNEL_RO);
+ for (i = 0; i < NR_FIX_ISAMAPS; i++)
+ if (xen_start_info.flags & SIF_PRIVILEGED)
+ set_fixmap(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE);
+ else
+ __set_fixmap(FIX_ISAMAP_BEGIN - i,
+ virt_to_machine(empty_zero_page),
+ PAGE_KERNEL_RO);
+ }
#endif
}